home *** CD-ROM | disk | FTP | other *** search
- # CVS $Id: combobox.tcl,v 1.5 1995/02/22 16:21:31 zibi Exp $
-
- #
- # a minimal test of the combobox widget
- #
-
- global fn
-
- proc quitCB {cbs} {
- global fn
- global cmb
- # VtDestroyDialog $cmb
- VtClose
- }
-
- proc comboChangedCB {cbs} {
- global label1
-
- set newval [keylget cbs value]
- set w [keylget cbs widget]
-
- VtSetValues $label1 \
- -label "Changed: $newval"
-
- }
-
- proc comboActivateCB {cbs} {
- global label2
-
- set newval [keylget cbs value]
- set w [keylget cbs widget]
-
- set oldlist [ VtGetValues $w -itemList ]
-
- set found [ lsearch $oldlist $newval ]
-
- if { $found < 0 } {
- VtSetValues $label2 -label "Added: $newval"
- set newlist [ linsert $oldlist 100 $newval ]
- VtSetValues $w -itemList $newlist -rows [ llength $newlist ]
- } else {
- VtSetValues $label2 \
- -label "Activate: $newval"
- }
-
- }
-
- set cmb [ VtOpen "testcombo"]
-
- set fn [VtFormDialog $cmb.comboform -title "ComboBox" -xmArgs "XmNresizable False"]
-
- set label1 [VtLabel $fn.label1 -label "Changed: No Callback Yet" ]
- set label2 [VtLabel $fn.label2 -label "Activate: No Callback Yet" ]
-
- VtComboBox $fn.combo \
- -valueChangedCallback comboChangedCB \
- -callback comboActivateCB \
- -itemList {one two three four five averylongiteminthelistjustforkicks seven last} \
- -value two \
- -rightSide FORM \
- -columns 20 \
- -xmArgs "XmNbackground red"
-
- set cb1 [VtComboBox $fn.combo1 \
- -valueChangedCallback comboChangedCB \
- -callback comboActivateCB \
- -itemList {one two three four} \
- -width 100 -CHARM_width 10 \
- -value four \
- -topSide $fn.combo\
- -rightSide FORM\
- -readOnly\
- -xmArgs "XmNbackground red" ]
-
- VtPushButton $fn.quit -label Exit -callback quitCB \
-
- VtShow $fn
-
- # This is not a legal command!
- #set value [VtGetValues $cb1 -value]
-
- VtMainLoop
-
-